package main

import (
	"fmt"
	"github.com/gomodule/redigo/redis"
)

/*
 1.使用 redis benchmark 工具, 测试 10 20 50 100 200 1k 5k 字节 value 大小，redis get set 性能
 测试结果文件（本地redis 测试）：
    10.txt
    20.txt
    50.txt
    100.txt
    200.txt
    1014.txt
    5120.txt
2.写入一定量的 kv 数据, 根据数据大小 1w-50w 自己评估, 结合写入前后的 info memory 信息  , 分析上述不同 value 大小下，平均每个 key 的占用内存空间。
  测试结果文件（本地redis 测试）：
    memory.txt

    注：测试 1W key value， 包括 10byte 和 1024byte

*/
func main() {
	data := make([]byte, 1024)
	for i := 0; i < len(data); i++ {
		data[i] = 'A'
	}
	value := string(data)
	c, err := redis.Dial("tcp", "127.0.0.1:6379")
	defer c.Close()
	if err != nil {
		fmt.Println(err)
		return
	}
	for i := 0; i < 10000; i++ {
		key := fmt.Sprintf("key_%d", i)
		c.Do("SET", key, value)

	}
}
